//package com.example.springboot.common.config;
//
//import cn.afterturn.easypoi.word.WordExportUtil;
//import org.apache.poi.xwpf.usermodel.XWPFDocument;
//import org.springframework.util.Assert;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.OutputStream;
//import java.net.URLEncoder;
//import java.util.Map;
//
///**
// * @Author：伐柯梦姝
// * @Package：com.example.springboot.common.config
// * @Project：springboot
// * @name：WordUtil
// * @Date：2025/4/28 9:44
// * @Filename：WordUtil
// * @for:
// */
//public class WordUtil {
//    public static void exportWord(String templatePath, String temDir, String fileName, Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
//        Assert.notNull(templatePath,"模板路径不能为空");
//        Assert.notNull(temDir,"临时文件路径不能为空");
//        Assert.notNull(fileName,"导出文件名不能为空");
//        Assert.isTrue(fileName.endsWith(".docx"),"word导出请使用docx格式");
//        if (!temDir.endsWith("/")){
//            temDir = temDir + File.separator;
//        }
//        File dir = new File(temDir);
//        if (!dir.exists()) {
//            dir.mkdirs();
//        }
//        try {
//
//            String userAgent = request.getHeader("user-agent").toLowerCase();
//            if (userAgent.contains("msie") || userAgent.contains("like gecko")) {
//                fileName = URLEncoder.encode(fileName, "UTF-8");
//            } else {
//                fileName = new String(fileName.getBytes("utf-8"), "ISO-8859-1");
//            }
//            XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
//            String tmpPath = temDir + fileName;
//            FileOutputStream fos = new FileOutputStream(tmpPath);
//            doc.write(fos);
//            // 设置强制下载不打开
//            response.setContentType("application/force-download");
//            // 设置文件名
//            response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);
//            OutputStream out = response.getOutputStream();
//            doc.write(out);
//            out.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            //delFileWord(temDir,fileName);//这一步看具体需求，要不要删
//        }
//
//    }
//
//    /**
//     * 删除零时生成的文件
//     */
//    public static void delFileWord(String filePath, String fileName) {
//        File file = new File(filePath + fileName);
//        File file1 = new File(filePath);
//        file.delete();
//        file1.delete();
//    }
//
//}
//
